CentOS6.8 内核升级

为什么要升级内核

我个人比较倾向于下面这个观点

升级内核一般是为了支持新特性、新设备、新功能
一些老的内核也可能存在一些bug

其实升级内核的目的,和升级应用程序没啥区别…都是为了新东西…

引自CSDN论坛

因为我手里的linux内核版本较低,碰巧安装某软件时,那款软件不支持此内核版本,所以就踩一遍坑顺便记录下来!

利用yum ELRepo源升级linux内核

本来是按照网上说的,下载源码编译、安装。但是讲道理…,问题多多,并且自己这水平也无法定位错误所在,于是这个方法算是搁浅了。改用yum!

ELRepo源配置

导入public key

关于什么是public key,想了解的话请转到RPM-GPG-KEY详解查看

1
[root@localhost ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

安装ELRepo到当前系统中

ElRepo官网上可以找到最新的ElRepo源地址!

1
[root@localhost ~]# rpm -ivh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm

安装内核

在ELRepo源中,有main line(3.13.1)long-term(3.10.28)两个内核版本,long-term长期更新并且属于稳定版本,所以选择这个版本

1
[root@localhost ~]# yum --enablerepo=elrepo-kernel install kernel-lt -y

修改Grub引导顺序

编辑/etc/grub.conf文件,在其中修改默认启动的内核:

1
[root@localhost ~]# vi /etc/grub.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/mapper/VolGroup-lv_root
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (3.10.107-1.el6.elrepo.x86_64)
root (hd0,0)
kernel /vmlinuz-3.10.107-1.el6.elrepo.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=VolGroup/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-3.10.107-1.el6.elrepo.x86_64.img
title CentOS 6 (2.6.32-642.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-642.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=VolGroup/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-642.el6.x86_64.img

可以看到两个title对应的两个内核,我们需要指定系统启动时对应第一个title的内核3.10.107-1.el6.elrepo.x86_64,将default=1改为default=0即可!

重新启动系统,验证内核版本

1
[root@localhost ~]# shutdown -r now
1
2
[root@localhost ~]# uname -r
3.10.28-1.el6.elrepo.x86_64
谢谢你的支持